blob: 18bf43703b1f631580113a9acec773c5669cea5a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
<script>
import { goto } from '$app/navigation';
import { acceptInvite } from '$lib/apiServer';
import LogIn from '$lib/components/LogIn.svelte';
let { data } = $props();
let username = $state(''),
password = $state('');
let pending = false;
let disabled = $derived(pending);
async function onSubmit(event) {
event.preventDefault();
pending = true;
const response = await acceptInvite(data.invite.id, username, password);
if (200 <= response.status && response.status < 300) {
username = '';
password = '';
goto('/');
}
pending = false;
}
</script>
{#await data.invite}
<div class="card m-4 p-4">
<p>Loading invitation…</p>
</div>
{:then invite}
<div class="card m-4 p-4">
<p>Hi there! {invite.issuer} invites you to the conversation.</p>
</div>
<LogIn {disabled} bind:username bind:password onsubmit={onSubmit} />
{/await}
|